//#include<stdio.h>
//#include<string.h>
//#define N 100
//int main()
//{
//	char arr[N] = "123456789";
//	int a = strlen(arr);
//	char arr1[N] ="0";
//	char arr2[N] ="0";
//	int j = 0, k = 0;
//	for (int i = 0; i < a; i++)
//	{
//		if (arr[i] % 2 == 1)
//		{
//			arr1[j] = arr[i];
//			j++;
//		}
//		else
//		{
//			arr2[k] = arr[i];
//			k++;
//		}
//	}
//	int i = 0;
//	while (arr1[i])
//	{
//		arr[i] = arr1[i];
//		i++;
//	}
//	int b = strlen(arr1);
//	j = 0;
//	while (arr2[j])
//	{
//		arr[b] = arr2[j];
//		j++;
//		b++;
//	}
//	for (int i = 0; i < a; i++)
//	{
//		printf("%c ", arr[i]);
//	}
//	return 0;
//}
//#include<stdio.h>
//#define N 8
//int main()
//{
// 	int arr[N] = { 0 };
//	for (int i = 0; i < N; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int a = sizeof(arr) / sizeof(arr[0]);
//	for (int i = 0; i < (a / 2)+1; i++)
//	{
//		if (arr[i] % 2 == 0)
//		{
//			for (int j = a-1; j>=a/2; j--)
//			{
//				if (arr[j] % 2 == 1)
//				{
//					int tmp = arr[i];
//					arr[i] = arr[j];
//					arr[j] = tmp;
//				}
//			}
//		}
//	}
//	for (int i = 0; i < N; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	printf("\n");
//	printf("%d ",a);
//	return 0;
//}
#include<stdio.h>
int main()
{
	int a = 0, b = 0;
	scanf("%d%d", &a, &b);
	int arr[] = { 0 };
	int arr1[] = { 0 };
	int arr2[] = { 0 };
	int c=a+b;
	for(int i=0;i<a;i++)
	{
		scanf("%d", arr1 + i);
	}
	for (int i = 0; i < b; i++)
	{
		scanf("%d", arr2 + i);
	}
	for (int i = 0; i < (a > b ? a : b);)
	{
		for (int j = 0; j < (a > b ? b : a);j++)
		{
			if (arr2[i] > arr1[j])
			{
				arr[i] = arr1[j];
				i++;
				break;
			}
			else
			{
				arr[i] = arr2[i];
				i++;
				break;
			}
		}
	}
	return 0;
}